<html>
<head><meta charset="utf-8"><title>two-step bootstrap process for aarch64-apple-darwin · t-compiler/arm · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/index.html">t-compiler/arm</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html">two-step bootstrap process for aarch64-apple-darwin</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="204296906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204296906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204296906">(Jul 18 2020 at 11:28)</a>:</h4>
<p>also that's an interesting problem, I didn't notice the two-step process before. I guess there's not much to do there until the changes are upstreamed, presumably there's no way to get the new target to be accepted if using a single build dir (and a stage2 build)? but also the split build dir approach allows rebuilding only <code>silicon/cross</code>, kind of like <code>--keep-stage</code> (but not unsound/broken)</p>



<a name="204297317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297317">(Jul 18 2020 at 11:40)</a>:</h4>
<p>I landed <a href="https://github.com/rust-lang/rust/pull/74251">Teach bootstrap about target files vs target triples</a>, which did allow for me to cross-compile rustc in a single step, but then the created rustc failed when it tried to generate code as it couldn't find the host information.</p>



<a name="204297435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297435">(Jul 18 2020 at 11:44)</a>:</h4>
<p>uh oh</p>



<a name="204297438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297438">(Jul 18 2020 at 11:44)</a>:</h4>
<p><a href="#narrow/stream/242906-t-compiler.2Farm/topic/macOS.20cross-compile.20from.20x86_64/near/202831455">This is the error we got</a></p>
<div class="codehilite"><pre><span></span><code>❯ ./stage1/bin/rustc hello.rs
error: Error loading target specification: Could not find specification for target &quot;/Users/shep/Projects/rust/silicon/aarch64-apple-darwin.json&quot;. Use `--print target-list` for a list of built-in targets
</code></pre></div>



<a name="204297440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297440">(Jul 18 2020 at 11:44)</a>:</h4>
<p>is that with a JSON target spec file? or by changing <code>rustc_target::spec</code>?</p>



<a name="204297449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297449">(Jul 18 2020 at 11:45)</a>:</h4>
<p>I don't think we support anything other than the latter for the host, but it might be possible to make it work (I just haven't heard of this being attempted before)</p>



<a name="204297510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297510">(Jul 18 2020 at 11:46)</a>:</h4>
<p>I was attempting to use the JSON spec to avoid requiring the double-compiler-cross-compile-bootstrap.</p>



<a name="204297573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297573">(Jul 18 2020 at 11:49)</a>:</h4>
<p>I expect that the next change would be to modify <a href="https://github.com/rust-lang/rust/blob/f844ea1e561475e6023282ef167e76bc973773ef/src/librustc_session/session.rs#L1123">code around here</a> to support some new <code>-Z --host-target-override myfile.json</code></p>



<a name="204297574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297574">(Jul 18 2020 at 11:49)</a>:</h4>
<p>hmm. if we had landed it as a built-in target, it would be in beta by now (but I don't know what the requirements and stability implications are around that)</p>



<a name="204297578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297578">(Jul 18 2020 at 11:50)</a>:</h4>
<p>we could still backport a new target to the beta, to make this easier (assuming that's all that's needed)</p>



<a name="204297633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297633">(Jul 18 2020 at 11:51)</a>:</h4>
<p>I haven't wanted to submit the target as a PR because <a href="https://github.com/shepmaster/rust/commit/62b2959dbac948e48f58d8bb867ebb10f80258a0#diff-02a1b29cb34a30a3ad2cd10b19b7b578R10-R11">it requires forcibly linking to zlib</a>, as mentioned in another thread.</p>



<a name="204297636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297636">(Jul 18 2020 at 11:51)</a>:</h4>
<p>ahhhh fun</p>



<a name="204297644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297644">(Jul 18 2020 at 11:51)</a>:</h4>
<p>I would've thought that's also doable through <code>RUSTFLAGS</code> but maybe not that specific "post link flags" aspect</p>



<a name="204297683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297683">(Jul 18 2020 at 11:52)</a>:</h4>
<p>also wow GitHub likes to do something very weird for that kind of link</p>



<a name="204297687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297687">(Jul 18 2020 at 11:52)</a>:</h4>
<p>(scroll down a bit after refreshing to see it)</p>



<a name="204297744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297744">(Jul 18 2020 at 11:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> anyway if the static zlib stuff gets fixed on beta, maybe you can coordinate with <span class="user-mention" data-user-id="116122">@simulacrum</span> to get this target in as well into that beta build</p>



<a name="204297753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297753">(Jul 18 2020 at 11:55)</a>:</h4>
<p>(but again I have no idea what kind of approval would be needed for a new builtin target, or if we have a way to make it unstable for now - technically possible, but idk if the plumbing has been implemented)</p>



<a name="204297768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297768">(Jul 18 2020 at 11:55)</a>:</h4>
<p>I think that <span class="user-mention" data-user-id="116122">@simulacrum</span> has mentioned that they'd be open to beta backport of the target due to the relative interest for the target in general.</p>



<a name="204297769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297769">(Jul 18 2020 at 11:55)</a>:</h4>
<p>nice :D</p>



<a name="204297812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297812">(Jul 18 2020 at 11:56)</a>:</h4>
<p>I'm also hoping for a <a href="https://github.com/shepmaster/rust/commit/c25d9fa4b1ba3fade7d6a435e0161fc8abbc8087">new release of libc</a> so the two dependent crates can be updated to stable releases.</p>



<a name="204297817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297817">(Jul 18 2020 at 11:57)</a>:</h4>
<p>as for making things work with a JSON file, I don't see how we could do that without serializing the actual contents and ignoring the file path. maybe we do that already to some extent? unsure exactly how all that works atm</p>



<a name="204297819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297819">(Jul 18 2020 at 11:57)</a>:</h4>
<p>Yeah, if we're not testing it on ci IMO it's fine to backport to beta, doesn't really matter. We can remove it before it hits stable if there's any concerns there too.</p>



<a name="204297868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297868">(Jul 18 2020 at 11:58)</a>:</h4>
<p>I wonder if (lack of) stability of targets and their names should be discussed on the tiers RFC</p>



<a name="204297932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297932">(Jul 18 2020 at 12:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="119009">eddyb</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204297817">said</a>:</p>
<blockquote>
<p>as for making things work with a JSON file, I don't see how we could do that without serializing the actual contents and ignoring the file path. maybe we do that already to some extent? unsure exactly how all that works atm</p>
</blockquote>
<p>Why wouldn't a permanently unstable command line option, like <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204297573">I suggested earlier</a>, be a viable option?</p>



<a name="204297939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297939">(Jul 18 2020 at 12:01)</a>:</h4>
<p>seems like it would require the file to always exist, and that flag to be always passed?</p>



<a name="204297944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297944">(Jul 18 2020 at 12:01)</a>:</h4>
<p>like there's no doubt it could work, I just don't see it being ergonomic</p>



<a name="204297988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297988">(Jul 18 2020 at 12:02)</a>:</h4>
<p>Yes, and I think that's appropriate. AFAICT, this is only useful during initial exploratory testing of cross-compiling <code>rustc</code> to a new platform.</p>



<a name="204297990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297990">(Jul 18 2020 at 12:02)</a>:</h4>
<p>oh wait I was thinking about rlibs but rustc itself would have to know about it heh</p>



<a name="204297995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297995">(Jul 18 2020 at 12:02)</a>:</h4>
<p>like, when it starts up. I wonder why this doesn't "just work" with <code>rustc_target::spec</code> being modified</p>



<a name="204297998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204297998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204297998">(Jul 18 2020 at 12:03)</a>:</h4>
<p>I guess it remembers the file path?</p>



<a name="204298000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298000">(Jul 18 2020 at 12:03)</a>:</h4>
<p>instead of the triple</p>



<a name="204298005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298005">(Jul 18 2020 at 12:03)</a>:</h4>
<p><span class="user-mention silent" data-user-id="119009">eddyb</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204297998">said</a>:</p>
<blockquote>
<p>I guess it remembers the file path?</p>
</blockquote>
<p>Yes, <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204297438">the error message</a> seems to suggest that.</p>



<a name="204298044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298044">(Jul 18 2020 at 12:04)</a>:</h4>
<p>maybe the simplest workaround is similar to what you did to <code>src/bootstrap</code>, but for the compiler's hardcoded host target</p>



<a name="204298061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298061">(Jul 18 2020 at 12:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> like, here: <a href="https://github.com/rust-lang/rust/blob/master/src/bootstrap/builder.rs#L1250">https://github.com/rust-lang/rust/blob/master/src/bootstrap/builder.rs#L1250</a></p>



<a name="204298107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298107">(Jul 18 2020 at 12:06)</a>:</h4>
<p>although that looks like it already passes the triple and not the file? confusing</p>



<a name="204298114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298114">(Jul 18 2020 at 12:06)</a>:</h4>
<p>yeah you literally changed that lol</p>



<a name="204298123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298123">(Jul 18 2020 at 12:07)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> was the error before or after the <code>src/bootstrap</code> changes?</p>



<a name="204298228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298228">(Jul 18 2020 at 12:10)</a>:</h4>
<p>to be clear: this is the only place I could find where the information is passed in <a href="https://github.com/rust-lang/rust/blob/d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02/src/librustc_session/config.rs#L568-L578">https://github.com/rust-lang/rust/blob/d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02/src/librustc_session/config.rs#L568-L578</a></p>



<a name="204298232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298232">(Jul 18 2020 at 12:10)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> btw can we move this topic somewhere else? maybe <a class="stream" data-stream-id="242906" href="/#narrow/stream/242906-t-compiler.2Farm">#t-compiler/arm</a>? I just noticed we're in the MCP stream oops</p>



<a name="204298233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298233">(Jul 18 2020 at 12:11)</a>:</h4>
<p>I haven't tested cross-compiling with only the JSON spec file with the most recent set of bootstrap changes. I'd expect that the error will have changed from <code>cant find target /path/to/my-target.json</code> to <code>cant find target my-target</code>. That is, the triple is passed, but rustc still wouldn't know about it.</p>



<a name="204298241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298241">(Jul 18 2020 at 12:11)</a>:</h4>
<p>if you change <code>rustc_target::spec</code> <em>and</em> use a JSON file, both beta and the built compiler should work, I think?</p>



<a name="204298283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298283">(Jul 18 2020 at 12:12)</a>:</h4>
<p>since the compiler you just built will look in <code>rustc_target::spec</code> for the triple</p>



<a name="204298293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298293">(Jul 18 2020 at 12:12)</a>:</h4>
<p>but idk if anything else will break</p>



<a name="204298297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298297">(Jul 18 2020 at 12:13)</a>:</h4>
<p>Ah, making <em>both</em> changes at the same time; I didn't get that.</p>



<a name="204298301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298301">(Jul 18 2020 at 12:13)</a>:</h4>
<p>sorry, I assumed (without checking) that the fork includes <a href="https://github.com/shepmaster/rust/commit/62b2959dbac948e48f58d8bb867ebb10f80258a0#diff-02a1b29cb34a30a3ad2cd10b19b7b578R10-R11">this commit</a></p>



<a name="204298341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298341">(Jul 18 2020 at 12:14)</a>:</h4>
<p>(and that the bootstrap changes were only to get beta to use the target JSON file)</p>



<a name="204298412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298412">(Jul 18 2020 at 12:17)</a>:</h4>
<p>Well, that's certainly worth trying, as it would reduce the total cross-compile time from 1.5 hours to 1 hour (at least until the target is available in beta). It might also allow me to cheat and have the <code>-lz</code> hack in the JSON file but not in <code>rustc_target</code>, which would make me feel better about merging it sooner.</p>



<a name="204298414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298414">(Jul 18 2020 at 12:17)</a>:</h4>
<p>heh, good idea</p>



<a name="204298454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298454">(Jul 18 2020 at 12:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> <span class="user-mention" data-user-id="123586">@nagisa</span> okay this might be silly, but there's nothing (at the OS level, I guess) stopping <code>--target</code> or an env var from taking in an entire JSON object, is there :P</p>



<a name="204298462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298462">(Jul 18 2020 at 12:19)</a>:</h4>
<p>could be really compact if it refers to some other triple as the base, and just changes a field or two</p>



<a name="204298463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298463">(Jul 18 2020 at 12:19)</a>:</h4>
<p>Hm on Windows there's a really rather low command line length limit, but you could always use the file-with-arguments syntax to work around that</p>



<a name="204298467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298467">(Jul 18 2020 at 12:20)</a>:</h4>
<p>/me grumbles</p>



<a name="204298514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298514">(Jul 18 2020 at 12:20)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> anyway what I was thinking was more on the lines of <code>src/bootstrap</code> passing an entire JSON string in an env var to the <code>rustc</code> build (i.e. for an <code>env!("...")</code>)</p>



<a name="204298527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298527">(Jul 18 2020 at 12:21)</a>:</h4>
<p>Yeah I'd personally be fine with that</p>



<a name="204298538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298538">(Jul 18 2020 at 12:21)</a>:</h4>
<p>we can avoid it this time, I think, but it could be a fun way to make ad-hoc rustc's that only know of their host target spec that way</p>



<a name="204298584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298584">(Jul 18 2020 at 12:22)</a>:</h4>
<p>like a "go fast" <code>rustc</code> specialized to the latest Intel or AMD CPUs etc.</p>



<a name="204298593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298593">(Jul 18 2020 at 12:23)</a>:</h4>
<p>Or ARM CPUs... <span aria-label="upside down" class="emoji emoji-1f643" role="img" title="upside down">:upside_down:</span></p>



<a name="204298601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298601">(Jul 18 2020 at 12:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> oh also it's possible <code>rustc</code> didn't pass <code>host_triple()</code> through the "load this is it's a file path" codepath</p>



<a name="204298618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298618">(Jul 18 2020 at 12:24)</a>:</h4>
<p>ahahaha yes <a href="https://github.com/rust-lang/rust/blob/d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02/src/librustc_session/config.rs#L1383-L1394">https://github.com/rust-lang/rust/blob/d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02/src/librustc_session/config.rs#L1383-L1394</a></p>



<a name="204298659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298659">(Jul 18 2020 at 12:24)</a>:</h4>
<p>it doesn't treat <code>host_triple()</code> as a default for <code>--target</code>, but rather only as a non-file triple</p>



<a name="204298668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298668">(Jul 18 2020 at 12:25)</a>:</h4>
<p><code>match Some(matches.opt_str("target").unwrap_or(host_triple()))</code> might be enough for a quick test</p>



<a name="204298709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298709">(Jul 18 2020 at 12:26)</a>:</h4>
<p>(with <code>src/bootstrap</code> changed to pass the path instead of the triple, to <code>CFG_COMPILER_HOST_TRIPLE</code>)</p>



<a name="204298713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298713">(Jul 18 2020 at 12:26)</a>:</h4>
<p>We hacked it <a href="#narrow/stream/242906-t-compiler.2Farm/topic/macOS.20cross-compile.20from.20x86_64/near/202832680">to forcibly use it as a path</a>. It didn't work, but I don't recall why.</p>



<a name="204298719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204298719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204298719">(Jul 18 2020 at 12:27)</a>:</h4>
<p>awww, alright</p>



<a name="204300858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204300858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Notification Bot <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204300858">(Jul 18 2020 at 13:34)</a>:</h4>
<p>This topic was moved here from <a class="stream-topic" data-stream-id="233931" href="/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin">#t-compiler/major changes &gt; two-step bootstrap process for aarch64-apple-darwin</a> by <span class="user-mention silent" data-user-id="116122">simulacrum</span></p>



<a name="204304508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204304508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204304508">(Jul 18 2020 at 15:22)</a>:</h4>
<div class="codehilite"><pre><span></span><code><span class="w">                </span><span class="c1">// search for a file named `target_triple`.json in RUST_TARGET_PATH</span>
<span class="w">                </span><span class="kd">let</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">                    </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">target</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">target_triple</span><span class="p">.</span><span class="n">to_string</span><span class="p">();</span><span class="w"></span>
<span class="w">                    </span><span class="n">target</span><span class="p">.</span><span class="n">push_str</span><span class="p">(</span><span class="s">&quot;.json&quot;</span><span class="p">);</span><span class="w"></span>
<span class="w">                    </span><span class="n">PathBuf</span>::<span class="n">from</span><span class="p">(</span><span class="n">target</span><span class="p">)</span><span class="w"></span>
<span class="w">                </span><span class="p">};</span><span class="w"></span>

<span class="w">                </span><span class="kd">let</span><span class="w"> </span><span class="n">target_path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">env</span>::<span class="n">var_os</span><span class="p">(</span><span class="s">&quot;RUST_TARGET_PATH&quot;</span><span class="p">).</span><span class="n">unwrap_or_default</span><span class="p">();</span><span class="w"></span>
</code></pre></div>


<p>Hmm. Maybe this already worked?</p>



<a name="204306274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204306274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204306274">(Jul 18 2020 at 16:09)</a>:</h4>
<p>huh never heard of that env var before</p>



<a name="204313377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204313377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204313377">(Jul 18 2020 at 19:01)</a>:</h4>
<p>The length limit also exists on Unixes.</p>



<a name="204313432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204313432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204313432">(Jul 18 2020 at 19:02)</a>:</h4>
<p>The entire environment + args mustn't be larger than 2MB on a typically configured linux IIRC</p>



<a name="204313983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204313983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204313983">(Jul 18 2020 at 19:19)</a>:</h4>
<p>Doh. Something's putting the hash in there so it doesn't match:</p>
<div class="codehilite"><pre><span></span><code>error[E0461]: couldn&#39;t find crate `std` with expected target triple aarch64-apple-darwin
  |
  = note: the following crate versions were found:
          crate `std`, target triple aarch64-apple-darwin-1752181066458373883: /Users/shep/crossed-one/usr/local/lib/rustlib/aarch64-apple-darwin/lib/libstd-11e5fe59d2e3c43b.rlib
          crate `std`, target triple aarch64-apple-darwin-1752181066458373883: /Users/shep/crossed-one/usr/local/lib/rustlib/aarch64-apple-darwin/lib/libstd-11e5fe59d2e3c43b.dylib
</code></pre></div>



<a name="204323737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323737">(Jul 19 2020 at 00:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> hmmmmm maybe try with <code>--host</code> pointing to the file and <code>--target</code> just using the triple name?</p>



<a name="204323779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323779">(Jul 19 2020 at 00:12)</a>:</h4>
<p>since the compiler that will process the <code>--target</code> triple should recognize the triple by name</p>



<a name="204323788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323788">(Jul 19 2020 at 00:13)</a>:</h4>
<p>Something like</p>
<div class="codehilite"><pre><span></span><code>../../x.py install -i --stage 1 --host ../aarch64-apple-darwin.json --target aarch64-apple-darwin,x86_64-apple-darwin
</code></pre></div>


<p>(plus all my other gunk)</p>



<a name="204323831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323831">(Jul 19 2020 at 00:14)</a>:</h4>
<p>yeah. assuming it's not what you're already doing</p>



<a name="204323838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323838">(Jul 19 2020 at 00:15)</a>:</h4>
<p>I did have the JSON file in both locations.</p>



<a name="204323848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323848">(Jul 19 2020 at 00:15)</a>:</h4>
<p>I'll give that a try and see if it's a 3, 30, or 60 minute build....</p>



<a name="204323916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323916">(Jul 19 2020 at 00:17)</a>:</h4>
<p>2 minute, which makes me think that the thing that needed to be rebuilt probably wasnt</p>



<a name="204323966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323966">(Jul 19 2020 at 00:18)</a>:</h4>
<p>Oh, maybe it did!</p>



<a name="204323977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204323977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204323977">(Jul 19 2020 at 00:19)</a>:</h4>
<div class="codehilite"><pre><span></span><code>% rustc +one-step hello.rs

% file hello
hello: Mach-O 64-bit executable arm64

% ./hello
Hi
</code></pre></div>



<a name="204324040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324040">(Jul 19 2020 at 00:20)</a>:</h4>
<p>Course, to be sure I gotta blow away the directory and build from scratch.</p>



<a name="204324193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324193">(Jul 19 2020 at 00:25)</a>:</h4>
<p>TBQH, I don't understand why this specific invocation works, but I'm happy to use it either way.</p>



<a name="204324263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324263">(Jul 19 2020 at 00:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116155">@Jake Goulding</span> presumably it hashes the <code>--target</code> flag, not the triple name or the JSON contents</p>



<a name="204324312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324312">(Jul 19 2020 at 00:28)</a>:</h4>
<p>you only ever needed the JSON for the beta compiler which at most gets passed the <code>x.py</code> <code>--host</code> flag as <code>--target</code>, unless you're running <code>x.py build --stage 0 --target ...</code> I guess? (which you're not)</p>



<a name="204324334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324334">(Jul 19 2020 at 00:29)</a>:</h4>
<p>once the new compiler is built it can build core/std etc. without the JSON file, since it contains the <code>rustc_target::spec</code> change</p>



<a name="204324341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324341">(Jul 19 2020 at 00:30)</a>:</h4>
<p>wait, I said "hashes". I think it just stores the string (in the <code>.rmeta</code>, <code>.rlib</code> or <code>.dylib</code>)</p>



<a name="204324380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324380">(Jul 19 2020 at 00:30)</a>:</h4>
<p>It's nice you think I understand what the stages mean enough to construct an arbitrary <code>x.py</code> command and it to work.</p>



<a name="204324394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324394">(Jul 19 2020 at 00:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="119009">eddyb</span> <a href="#narrow/stream/242906-t-compiler.2Farm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204324341">said</a>:</p>
<blockquote>
<p>wait, I said "hashes". I think it just stores the string (in the <code>.rmeta</code>, <code>.rlib</code> or <code>.dylib</code>)</p>
</blockquote>
<p>I actually went looking for that using objdump in the rlib; any clues on where I'd look?</p>



<a name="204324402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324402">(Jul 19 2020 at 00:31)</a>:</h4>
<p>you need to extract the <code>rmeta</code> from the <code>rlib</code> first</p>



<a name="204324408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324408">(Jul 19 2020 at 00:31)</a>:</h4>
<p>after that... it's either at the very start or very end, I forget</p>



<a name="204324453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324453">(Jul 19 2020 at 00:32)</a>:</h4>
<p>but you should be able to grep the whole <code>rlib</code> archive for the <code>$target.json</code> file name I guess? as an easy confirmation. since nothing is compressed</p>



<a name="204324513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324513">(Jul 19 2020 at 00:34)</a>:</h4>
<div class="codehilite"><pre><span></span><code>a:&gt;BL1
NRP+
&#39;7,A
;/Users/shep/Projects/rust/silicon/aarch64-apple-darwin.json
-11e5fe59d2e3c43b
</code></pre></div>



<a name="204324524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324524">(Jul 19 2020 at 00:35)</a>:</h4>
<p>vs.</p>
<div class="codehilite"><pre><span></span><code>a:&gt;BL1
NRP+
&#39;7,A
aarch64-apple-darwin
-4030be7cd8f35bb4
ITw5
</code></pre></div>



<a name="204324527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324527">(Jul 19 2020 at 00:35)</a>:</h4>
<p>heh I'm glad it's as readable as that</p>



<a name="204324531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204324531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204324531">(Jul 19 2020 at 00:35)</a>:</h4>
<p><code>strings</code> is pretty magical</p>



<a name="204325238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325238">(Jul 19 2020 at 00:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116155">Jake Goulding</span> <a href="#narrow/stream/242906-t-compiler.2Farm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin/near/204324040">said</a>:</p>
<blockquote>
<p>Course, to be sure I gotta blow away the directory and build from scratch.</p>
</blockquote>
<p>0:32:49 and 50% battery</p>



<a name="204325570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325570">(Jul 19 2020 at 01:09)</a>:</h4>
<p>a bit surprised Apple doesn't offer a cloud-like solution where you rent a build server running their CPUs</p>



<a name="204325614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325614">(Jul 19 2020 at 01:10)</a>:</h4>
<p>then again it'd probably cost an arm and a leg</p>



<a name="204325676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325676">(Jul 19 2020 at 01:12)</a>:</h4>
<p>/me sees missed pun opportunity and realizes caffeine is in order</p>



<a name="204325763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325763">(Jul 19 2020 at 01:15)</a>:</h4>
<p>I am disappointed to learn recently that it's now properly "Arm" and I've been typing "ARM" for the longest while. means you pun is that much more achievable.</p>



<a name="204325819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325819">(Jul 19 2020 at 01:16)</a>:</h4>
<p>I think it used to be ARM but now it's Arm Holdings</p>



<a name="204325822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204325822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204325822">(Jul 19 2020 at 01:16)</a>:</h4>
<p>that looks far too specific to be accidental tbh</p>



<a name="204335389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242906-t-compiler/arm/topic/two-step%20bootstrap%20process%20for%20aarch64-apple-darwin/near/204335389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/242906-t-compiler/arm/topic/two-step.20bootstrap.20process.20for.20aarch64-apple-darwin.html#204335389">(Jul 19 2020 at 06:22)</a>:</h4>
<p>Just write Acorn Risc Machines :)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>